/**
 * 
 */
package com.cuc.platform.core.componet.security.dao;

import java.util.List;

import org.springframework.dao.DataAccessException;

import com.cuc.platform.core.componet.security.domain.SecurityResource;

/**
 * @author peepul
 * 
 * 系统资源Dao访问接口
 */
public interface SecurityResourceDao {

	/**
	 * 根据id获取资源对象
	 * 
	 * @param id
	 * @return SecurityResource
	 */
	public SecurityResource getRescById(Long id);
	
	/**
	 * 获取所有的资源对象集合
	 * 
	 * @return List
	 */
	public List<SecurityResource> getAllRescs();
	
	/**
	 * 新增资源对象
	 * 
	 * @param resc
	 */
	public void insertResc(SecurityResource resc) throws DataAccessException;
	
	/**
	 * 更新资源对象
	 * 
	 * @param resc
	 * @throws DataAccessException
	 */
	public void updateResc(SecurityResource resc) throws DataAccessException;
	
	/**
	 * 根据id删除resc对象
	 * 
	 * 注：删除成功返回值为1，如没找到要删除的数据返回0，如果删除出错，则产生异常
	 * @param id
	 */
	public int delRescById(Long id) throws DataAccessException;
	
	/**
	 * 根据多个id批量删除resc资源数据
	 */
	public void delMultiResc(String ... idArray)throws DataAccessException;
	
	/**
	 * 判断资源表中是否已存在priority值
	 * 
	 * @param priority
	 * @return 大于0 存在，否则 不存在
	 */
	public Integer existPriority(Integer priority);
}
